﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using BCCommon.Enums.Chats;
using BCEntity.Chats;

namespace BCData.Chats
{
    public interface IMessageData
    {
        Task<IEnumerable<MessageEntity>> GetMessagesAsync(string userId, long? threadId, long? minMessageId, long? maxMessageId, int count);

        Task<MessageEntity> GetMessageAsync(long messageId);

        Task<MessageEntity> InsertAsync(MessageEntity entity);

        Task<MessageEntity> UpdateAsync(MessageEntity entity);

        Task<IDictionary<long, int>> GetUnreadMessageCountAsync(string userId, IEnumerable<long> threadIds);
    }
}
